package vip.xiaonuo.h5.royalty.modular.my.service;

import vip.xiaonuo.h5.royalty.modular.my.param.ModifyBankInfoParam;
import vip.xiaonuo.h5.royalty.modular.my.param.WithDrawParam;
import vip.xiaonuo.h5.royalty.modular.my.param.WithdrawRecordParam;
import vip.xiaonuo.h5.royalty.modular.my.vo.MyInfoVo;
import vip.xiaonuo.h5.royalty.modular.my.vo.MyBalanceVo;
import vip.xiaonuo.h5.royalty.modular.my.vo.IncomeRecordPage;
import vip.xiaonuo.h5.royalty.modular.my.vo.WithdrawRecordPage;
import vip.xiaonuo.h5.royalty.modular.my.param.IncomeRecordParam;

/**
 * 我的服务接口
 */
public interface MyService {

    /**
     * 获取我的信息
     * @return 我的信息
     */
    MyInfoVo getMyInfo();

    /**
     * 获取账户余额
     * @return 账户余额
     */
    MyBalanceVo getBalance();

    /**
     * 获取入账记录列表
     * @param param 查询参数
     * @return 入账记录分页数据
     */
    IncomeRecordPage getIncomeRecords(IncomeRecordParam param);


    void modifyBankInfo(ModifyBankInfoParam modifyBankInfoParam);

    void withdraw(WithDrawParam withDrawParam);

    /**
     * 获取提现记录列表
     * @param param 查询参数
     * @return 提现记录分页数据
     */
    WithdrawRecordPage getWithdrawRecords(WithdrawRecordParam param);
}
